Firefox 36 will be released on February 24th. Here’s the list of changes that went into this version that can affect add-on compatibility. There is more information available in Firefox 36 for Developers, so you should also give it a look.
General
- Use @@iterator symbol instead of placeholder string. If you used to do
str["@@iterator"]
, you now need to dostr[Symbol.iterator]
. More info in the docs. - Assigning to a const variable is a syntax error, and const should be block-scoped. This syntax error used to show up only in strict mode, but now it applies in non-strict mode as well.
const
variables should only be assigned on declaration and now are block-scoped. More info in the docs. - [OS.File] Get rid of method `readTo`. This is only relevant to you if you use the
readTo
function in the OS.File JS Module.
XPCOM
- Update: folderReadonly doesn’t pertain to bookmarks or results. This removes
setFolderReadonly
andgetFolderReadonly
fromnsINavBookmarksService
. - Port BoxObject to WebIDL. This removes various internal interfaces that extend
nsIBoxObject
, likensIPopupBoxObject
,nsITreeBoxObject
, andnsIEditorBoxObject
. If you’re usingQueryInterface
with these interfaces in your code, you can probably just remove the call. - nsIDOMGlobalObjectConstructor is dead code.
Wrappers
There are a number of wrappers that are applied whenever chrome JS objects interact with content JS objects. They are meant to protect privileged code from malicious or otherwise misbehaving content code. The following bugs removed some features in wrappers that could lead to unexpected problems in your chrome/content code. However, you should keep in mind that Multiprocess Firefox is coming, and that means you should be changing your code anyway (some wrappers are still involved, but they should be rare).
- Turn off COWs for Arrays.
- Stop Remapping COWed standard prototypes.
- Disallow exposing privileged functions via COWs.
- Turn off COWs for Functions.
Please let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 36, I’d like to know.
The automatic compatibility validation and upgrade for add-ons on AMO will happen within a week or two, so keep an eye on your email if you have an add-on listed on our site with its compatibility set to Firefox 35.
Kohei Yoshino wrote on
Jorge Villalobos wrote on
Ivan Kashtanov wrote on
Ivan Kashtanov wrote on
MartijnJ wrote on
David wrote on
Rauno Härkönen wrote on
Jorge Villalobos wrote on